package jzqb.service;

import haha.life.common.CutPageBean;
import jzqb.bo.AdminDepartmentBo;
import jzqb.po.AdminDepartmentPo;
import net.sf.json.JSONArray;

import java.io.IOException;
import java.util.List;


public interface AdminDepartmentService {

    CutPageBean<AdminDepartmentPo> cutPage(AdminDepartmentBo adminDepartmentBo);

    /**
     * 查询所有部门
     * @return
     */
    List<AdminDepartmentPo> findAllDept();

    /**
     *
     * @param departmentid  3;4;5
     * @return  信息中心 美丽中心  美丽中国
     */
    String getDeptNameById(String departmentid);


    /**
     * 修改部门的负责人
     * @param adminDepartmentPo 部门对象
     */
    boolean editLeader(AdminDepartmentPo adminDepartmentPo);

    /***
     * 判断部门id是否已经存在
     * @param id 部门编号
     * @return true:已存在 false:不存在
     */
    boolean isDepartmentcodeExist(String id);

    /***
     * 单个添加用户
     * @param departmentPo 部门对象
     * @param type add:新建 edit：编辑
     * @return 执行结果
     */
    boolean addDepartment(AdminDepartmentPo departmentPo, String type);

    /**
     * 删除用户
     * @param departmentPo 部门对象
     * @return 执行结果
     */
    boolean deleteDepartment(AdminDepartmentPo departmentPo);

    /**
     * 把excel内容写入数据库
     * @param jsonArray excel内容对象
     * @return 整体执行结果(整体:所有行的执行)
     */
    boolean writeExcelData(JSONArray jsonArray) throws IOException;

    /**
     * 判断某个部门当前是否没有员工.在删除部门前进行判断,如果该部门没有员工,返回true
     * @param departmentPo 部门对象
     * @return
     * true:没有任何员工
     * false:存在员工
     */
    boolean isDptEmpty(AdminDepartmentPo departmentPo);
}
